Skip to content

Implement UDP transport for air-gap sink - #17954

Open
Caideyipi wants to merge 11 commits into
masterfrom
air-gap-udp-transport
Open

Caideyipi wants to merge 11 commits into
masterfrom
air-gap-udp-transport

Conversation

@Caideyipi

Copy link
Copy Markdown
Collaborator

Summary

  • Add tcp/udp transport option and UDP packet size validation for air-gap connector/sink.
  • Send UDP air-gap datagrams with the existing envelope/ACK flow and slice oversized requests.
  • Make the receiver listen on UDP on the air-gap port and keep per UDP client receiver/session state.

Tests

  • mvn -DskipTests spotless:apply -pl iotdb-core/node-commons,iotdb-core/datanode
  • mvn -pl iotdb-core/node-commons -DskipTests compile
  • git diff --check
  • mvn -pl iotdb-core/datanode -Dtest=IoTDBDataRegionAirGapSinkTest,IoTDBAirGapReceiverTest test (fails during existing datanode compilation: missing parser/generated/calc/consensus symbols such as AlterTopicContext, ComparatorChain, PERCENTILE, and IStateMachine.loadSnapshot return mismatch)

@codecov

codecov Bot commented Jun 16, 2026 •

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 57.08155% with 100 lines in your changes missing coverage. Please review.
✅ Project coverage is 45.92%. Comparing base (5c27559) to head (045622d).
⚠️ Report is 1 commits behind head on master.

Files with missing lines Patch % Lines
...iver/protocol/airgap/IoTDBAirGapReceiverAgent.java 5.76% 49 Missing ⚠️
.../receiver/protocol/airgap/IoTDBAirGapReceiver.java 39.62% 32 Missing ⚠️
...db/commons/pipe/sink/protocol/IoTDBAirGapSink.java 84.61% 18 Missing ⚠️
...er/protocol/thrift/IoTDBDataNodeReceiverAgent.java 87.50% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             master   #17954    +/-   ##
==========================================
  Coverage     45.91%   45.92%            
  Complexity      712      712            
==========================================
  Files          5502     5502            
  Lines        398764   398968   +204     
  Branches      51963    51988    +25     
==========================================
+ Hits         183090   183220   +130     
- Misses       215674   215748    +74     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

# Conflicts:
#	iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/pipe/sink/protocol/IoTDBAirGapSink.java
…-udp-transport

# Conflicts:
#	iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/receiver/protocol/airgap/IoTDBAirGapReceiver.java
#	iotdb-core/datanode/src/test/java/org/apache/iotdb/db/pipe/receiver/protocol/airgap/IoTDBAirGapReceiverTest.java
@sonarqubecloud

Copy link
Copy Markdown

Preserve the AirGap retry body fix for both TCP and UDP receiver paths.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant